home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 46
/
Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso
/
-in_the_mag-
/
synth_studies
/
resgrep03b
/
source
/
resources.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-09-15
|
3KB
|
88 lines
#ifndef CC_RESOURCES_H
#define CC_RESOURCES_H
//
// Das Headerfile für den ResGrep
//
extern "C" {
#include <stdio.h>
};
#include "res.h"
#include "list.h"
class ResID : public node
{
// in node->name steht der Name der RESOURCE, in
// node->pack der gepackte Typ und in node->pri
// die ID.
unsigned char Attrs; // Die Attribute der Resource.
unsigned long DataOffset; // Beginn der Daten im File.
public:
ResID(MacResID *mri, unsigned long theResType,
void *theMacResNameList, unsigned long FileDataOffset);
~ResID(void);
int export(void); // Exportiert die Daten
};
class ResType : public node
{
// in node->name steht der Name der Datei und in
// node->pack der gepackte Typ.
list theResID; // Die Liste mit den ID-Einträgen.
short NumberOfResIDs; // Die Anzahl der abhängigen IDs.
public:
ResType(MacResType *mrt, MacResID *mri, void *theMacResNameList,
unsigned long FileDataOffset, char *name=NULL, long pri=0);
~ResType(void);
// Und noch die gleichen (selben???) Methoden wie
// bei einem ResFile.
void hidewin(struct IntuiMessage *msg); // Versteckt das Listenfenster
void revealwin(struct IntuiMessage *msg); // Macht das Fenster sichtbar.
void closewin(struct IntuiMessage *msg);
void displaywin(struct MsgPort *msg, struct Menu *men);
node *check(struct IntuiMessage *msg);
};
class ResFile : public node
{
// in node::name steht der Filename der Datei
// (OHNE Pfad!)
list theResType; // Die Liste aller ResourceTypen dieses Files.
char *fullname; // Vollständiger Name der Datei.
FILE *fp; // Der Filepointer für 'fread()' und 'fwrite()'.
short NumberOfResTypes; // Anzahl der ResourceTypen in diesem File.
unsigned long DataOffset; // Anfang der Daten im File.
unsigned short Attrs; // Die Fileattribute.
public:
ResFile(void);
~ResFile(void); // Schließt das File und gibt alle abhängigen Listen
// frei.
int open(char *name=NULL); // Öffnet ein ResourceFile, gibt das vorherige
// wieder frei (falls es schon eins gab.)
void close(void); // Schließt ein File.
FILE *getfp(void);
// Dann noch die Funktionen, die die ResType-Liste betreffen:
void hidewin(struct IntuiMessage *msg); // Versteckt das Listenfenster
void hidechild(struct IntuiMessage *msg); // Versteckt dieses und
// ALLE von ihm abhängige Fenster
void revealwin(struct IntuiMessage *msg); // Macht das Fenster sichtbar.
void revealchild(struct IntuiMessage *msg); // Macht dieses
// und ALLE abhängigen sichtbar.
void closewin(struct IntuiMessage *msg);
void closechild(struct IntuiMessage *msg);
void displaywin(struct MsgPort *msg, struct Menu *);
node *check(struct IntuiMessage *msg);
};
extern list ResFileList;
#endif